package com.fausto.learnimprint.core.controller

import com.fausto.learnimprint.core.model.dto.CommonResult

/**
 *      首页模块
 *          方法给出默认实现的原因是:
 *              希望多个子类分别实现且每个方法必须被子类实现一次
 */
interface IndexModule {
    /**
     *      本站介绍信息
     */
    fun siteIntroduction(info: String): CommonResult<Any> {
        return CommonResult.ok("获取本站介绍成功", data = info)
    }

    /**
     *      分页查询首页博客
     */
    fun homeBlog(page: Int, showCount: Int): CommonResult<Any> {
        return CommonResult.ok("获取首页博客成功")
    }

    /**
     *      查询热门博客
     */
    fun hotBlog(): CommonResult<Any> {
        return CommonResult.ok("获取热门博客成功")
    }

    /**
     *      查询最新评论
     */
    fun latestComments(): CommonResult<Any> {
        return CommonResult.ok("获取最新评论成功")
    }

    /**
     *      按月份归档博客
     */
    fun archiveBlog(): CommonResult<Any> {
        return CommonResult.ok("获取归档博客成功")
    }

}